//
//  AXCheck.h
//  TestMac
//
//  Created by 小星星吃KFC on 2021/7/9.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface AXCheck : NSObject

/// 是否 nil 或者 空,如 obj=nil; string.length=0; arrar.count=0;
/// @param objc objc
+(BOOL)isEmpty:(id)objc;


/// 是否 不为空
/// @param objc objc
+(BOOL)isNotEmpty:(id)objc;


///  是否 nil
/// @param objc obj
+(BOOL)isNil:(id)objc;


/// 是否 不为nil
/// @param objc objc
+(BOOL)isNotNil:(id)objc;

/// objc 是否为指定Class
/// @param objc objc
/// @param aClass Class
+(BOOL)isNil:(id)objc
      aClass:(Class )aClass;

/// obj 是否为指定Class,并返回默认值
/// @param objc objc
/// @param aClass 指定Class
/// @param value 为nil 返回指定值
+(id)objcNil:(id)objc
      aClass:(Class )aClass
       value:(id )value;


/// 是否为指定Class 若nil,返回 Class 初始化值
/// @param objc objc
/// @param aClass 指定Class
+(id)objcNil:(id)objc
      aClass:(Class )aClass;

#pragma mark - NSString


/// NSString 可以取得指定类型值时，返回指定类型值，
/// @param objc objc
/// @param value 指定NSString值
+(NSString *)stringNil:(id)objc
                 value:(NSString *)value;


#pragma mark - NSArray


/// 判断数组是否越界,[index]元素是否为指定类型,返回默认值
/// @param array array
/// @param index index
/// @param aClass 指定Class
/// @param value 默认值
+(id)arrayObjcIndex:(NSArray *)array
              index:(NSUInteger )index
             aClass:(Class )aClass
              value:(id )value;

/// 判断数组是否越界,[index]元素是否为指定类型,若不满足条件返回Class初始化值
/// @param array array
/// @param index index
/// @param aClass 指定Class
+(id)arrayObjcIndex:(NSArray *)array
              index:(NSUInteger )index
             aClass:(Class )aClass;


@end

NS_ASSUME_NONNULL_END
